/*
 * client.cpp
 *
 */
#include <sstream>
#include "clienteCommon.h"
#include "../application/DespachoAPI.h"
#include "../application/VendedorAPI.h"
#include "../logger/logger.h"

int main(int argv, char **agrv)
{
	ipc::Sequence clientIdSequence =
			ipc::Sequence::get(CLIENTEID_SEQUENCE_PATH,CLIENTEID_SEQUENCE_KEY);

	int clientId = clientIdSequence.getNext();

	std::stringstream ss;

	ss<<"Cliente "<< clientId;
	CLogger::create(ss.str());
	CLogger::setLevel(LogLevelEnum::TRACE);

	CLogger::log("Cliente started", LogLevelEnum::INFO);
	application::VendedorAPI vendedor("cliente_pc");
//	application::DespachoAPI despacho("cliente_pc");

	ProductoCantidadList productList;
	ProductoCantidad prod;
	OrdenCompra ordenCompra;

	prod.tipo = 1;
	prod.cantidad = 3;
	productList.push_back(prod);

	prod.tipo = 2;
	prod.cantidad = 4;
	productList.push_back(prod);

	ordenCompra = vendedor.hacerOrdenCompra(clientId,productList);

	ordenCompra.header.clientId =2222;

	ProductoList listaProductos;
	ProductoCantidad prodRetirar;

	prodRetirar.tipo = 1;
	prodRetirar.cantidad = 1;

//	despacho.retirarPedido(ordenCompra,prodRetirar,listaProductos);

	CLogger::log("Cliente ended", LogLevelEnum::INFO);
	return 0;
}
